'use strict';
const db = uniCloud.database()
exports.main = async (event, context) => {

	//前端调用此函数需要传入的参数：dbName ，filter ，pageIndex ，pageSize
	var dbName = event.dbName; //集合名称(表的名称)
	// var dbName = 'book'; //集合名称(表的名称)
	var filter = event.filter ? event.filter : {}; //筛选条件，默认为空，格式 {key:'values'}
	var pageIndex = event.pageIndex ? event.pageIndex : 1; //当前第几页，默认为第一页
	var pageSize = event.pageSize ? event.pageSize : 10; //每页取多少条记录，默认为10条

	const countResult = await db.collection(dbName).where(filter).count() //获取集合中的总记录数
	const total = countResult.total //得到总记录数
	const totalPage = Math.ceil(total / pageSize) //计算页数

	var hasMore; //提示前端是否还有数据
	if (pageIndex > totalPage || pageIndex == totalPage) { //如果没有数据了，就返回false
		hasMore = false
	} else {
		hasMore = true
	}

	//查询数据并返回给前端
	let res = await db.collection(dbName).where(filter).skip((pageIndex - 1) * pageSize).limit(pageSize).orderBy("createTime", "desc").get()
	res.hasMore = hasMore;
	res.is_create = true; // 过审不可用户自定义内容,后期放开true
	
	
	// 点击详情的时候判断用户是否更新头像昵称，是则修改。判断获取到列表长度为1为进入详情不严谨（需要保证广场列表长度不能为1），后期审核时前端需修改添加详情接口标识
	if (res.data.length == 1 && event.filter._id) {
		let user = await db.collection('user-table').where({
			uid: res.data[0].uid
		}).get()
		console.log(user);
		// return
		if (res.data[0].name != user.data[0].name || res.data[0].avatar != user.data[0].avatar) {
			await db.collection(dbName).doc(event.filter._id).update({
				name: user.data[0].name,
				avatar: user.data[0].avatar
			})
		}
	}
	
	
	
	return res; // 返回json给客户端



	// return db.collection(dbName).where(filter).skip((pageIndex - 1) * pageSize).limit(pageSize).orderBy(
	// 	"createTime", "desc").get().then(res => {
	// 	res.hasMore = hasMore;
	// 	res.is_create = true; // 过审不可用户自定义内容,后期放开true

	// 	return res; // 返回json给客户端
	// })
};
